package org.mirrentools.attendance.console.entity;

import io.vertx.ext.sql.assist.Table;
import io.vertx.ext.sql.assist.TableColumn;
import io.vertx.ext.sql.assist.TableId;

/**
 * 考勤汇报表
 *
 * @author
 */
@Table("report")
public class Report {
  /**
   * 记录的id
   */
  @TableId(value = "id")
  private String id;
  /**
   * 用户的id
   */
  @TableColumn(value = "uid")
  private String uid;
  /**
   * 那一年
   */
  @TableColumn(value = "years")
  private Integer years;
  /**
   * 那一月
   */
  @TableColumn(value = "months")
  private Integer months;
  /**
   * 那一日
   */
  @TableColumn(value = "days")
  private Integer days;
  /**
   * 汇报内容
   */
  @TableColumn(value = "body")
  private String body;
  /**
   * 考勤状态:0=全勤,1=请假,2=加班,3=调班补班
   */
  @TableColumn(value = "state")
  private Integer state;

  /**
   * 实例化
   */
  public Report() {
    super();
  }


  /**
   * 获取记录的id
   *
   * @return
   */
  public String getId() {
    return id;
  }

  /**
   * 设置记录的id
   *
   * @param id
   */
  public Report setId(String id) {
    this.id = id;
    return this;
  }

  /**
   * 获取用户的id
   *
   * @return
   */
  public String getUid() {
    return uid;
  }

  /**
   * 设置用户的id
   *
   * @param uid
   */
  public Report setUid(String uid) {
    this.uid = uid;
    return this;
  }

  /**
   * 获取那一年
   *
   * @return
   */
  public Integer getYears() {
    return years;
  }

  /**
   * 设置那一年
   *
   * @param years
   */
  public Report setYears(Integer years) {
    this.years = years;
    return this;
  }

  /**
   * 获取那一月
   *
   * @return
   */
  public Integer getMonths() {
    return months;
  }

  /**
   * 设置那一月
   *
   * @param months
   */
  public Report setMonths(Integer months) {
    this.months = months;
    return this;
  }

  /**
   * 获取那一日
   *
   * @return
   */
  public Integer getDays() {
    return days;
  }

  /**
   * 设置那一日
   *
   * @param days
   */
  public Report setDays(Integer days) {
    this.days = days;
    return this;
  }

  /**
   * 获取汇报内容
   *
   * @return
   */
  public String getBody() {
    return body;
  }

  /**
   * 设置汇报内容
   *
   * @param body
   */
  public Report setBody(String body) {
    this.body = body;
    return this;
  }

  public Integer getState() {
    return state;
  }

  public void setState(Integer state) {
    this.state = state;
  }

  @Override
  public String toString() {
    return "Report [id=" + id + ", uid=" + uid + ", years=" + years + ", months=" + months + ", days=" + days + ", body=" + body
            + ", state=" + state + "]";
  }

}
